package com.yuandian.ops.workbench.po;

import com.yuandian.po.BasePageSearch;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 响应慢业务告警列表请求参数
 *
 * @Author LinShiHe
 * @Date 2023/03/12
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AlarmListParams extends BasePageSearch {

    /** 主键id */
    private Long id;

    /** 系统ID */
    private Integer systemId;

    /** 系统名称 */
    private String systemName;

    /** 业务编码 */
    private String businessCode;

    /** 业务名称 */
    private String businessName;

    /** 区域编码 */
    private String areaCode;

    /** 区域名称 */
    private String areaName;

    /**
     * 告警指标编码
     *   "BS_FAIL_RATE_10", "失败率"
     *   "BS_FAIL_RATE_20", "响应时长"
     *   "BS_FAIL_RATE_30", "健康度"
     */
    private String alarmIndicatorCode;

    /** 告警指标编码集合 */
    private List<String> alarmIndicatorCodes;

    /** 告警指标名称 */
    private String alarmIndicatorName;

    /**
     * 配置项
     * business.alarm.queryDataMinute +business.alarm.unDoingDelayMinute
     */
    private int sumDataMinuteAndDelayMinute;

    /** 数据类型 */
    private int dataType;

    /** 数据类型列表 */
    private List<Integer> dataTypeList;

    /** 告警类型id 字典值在 m_alarm_indicators中 */
    private List<String> alarmTypeId;

    /** 步骤编码list */
    private List<String> stepCodes;

    /** 系统编码列表 */
    private List<String> systemCodes;

    /** 业务编码列表 */
    private List<String> businessCodes;

	/** 业务编码列表 */
	private List<String> businessCodeList;

    /** 告警时间 */
    private String cycleTime;

    /** 开始时间 */
    private String startTime;

    /** 结束时间 */
    private String endTime;

    private List<Integer> systemIdList;

    /** 步骤id列表 */
    private List<String> stepIdList;

    /** 告警请求量的类型 1:响应慢请求量 2:失败请求量 3：告警请求量 */
    private String alarmRequestType;

    /** 告警实值 */
    private String alarmResultCode;

    /** '告警类型，1:正常告警 2:低密度归并告警' */
    private int alarmType;

	/** 查询的表名集合 */
	private List<String> tableNameList;

	/** 端id */
	private Long segmentId;

	/** 选择日期 */
//    @NotBlank(message = "日期不能为空")
	private String dateTime;
}
